iT邦幫忙

2022 iThome 鐵人賽

DAY 25
0
自我挑戰組

System Software Introduction系列 第 25

Features of the System Software Build System

  • 分享至 

  • xImage
  •  

The Functions Provided by the Build System

Software Selection and Dependency Check for Software Package

允許user自由選擇要組成software package的system software (kernel, device driver, system utilities, …)

Build system會幫忙檢查每一項system software需要的dependency software是否也被包在software package內,沒有被包含在內的system software也會被加入。

例如: user挑選software package後,build system會檢查dependency software是否有包含,未包含的dependency software會被build system加入

https://ithelp.ithome.com.tw/upload/images/20221006/20152298FFxXI79zBB.jpg

Build Automation Config Selection or Creation

  • Build automation flow config: 用來定義build flow
    例如: makefile

  • System software components可以依據不同的SW+HW system、功能需求、debug需求建立不同的build automation config
    例如: 一份device driver有兩種不同需求,可以根據不同目的性定出兩份makefile

  1. For software developer: 追求debug方便性,需要較多debug變數紀錄與logging,我們可以定義方便debug的device driver makefile
  2. For performance: 追求最佳效能,減少debug紀錄變數與logging讓運作速度變快,我們可以定義效能較佳的device driver makefile
  • Build system會依照configuration的參數挑選不同的build automation config使用在build flow
    例如: configuration有一個參數是開發階段,開發階段若設定成開發初期,會使用方便debug的device driver makefile,開發階段若設定成開發後期,則會使用效能較佳的device driver makefile

  • 有一些build system會依照configuration產生出build automation flow config,而無須手動建立 (例如: cmake提供一系列的command與條件判斷給user操作,藉此自動產生makefile)

Build Environment Set up

Build system會協助在system software的build flow開始之前安排好需要的build environment

The Characteristics of the Build System

Portable

Build system的build configuration對於user來說是portable的,使用同一套build system在不同的software platform上運作,build configuration不需要修改或只需要少量的修改即可

Version Controlled

Build system會有版本控制,所以user可以測試並找出和自己寫的build configuration搭配最為良好的版本的build system再使用,不須擔心因為build system進版有問題使得build configuration也出問題

Efficient

新的system software加入或者原有的system software需要修改時,因為有build system及build configuration的規則可以遵守,其他software developer不需要負責整合增改的system software,工作效率會因此變高。

今天我們介紹了build system的內部功能與相關特色,接下來我們會介紹build system如何建立build environment。


上一篇
The Overview of the System Software Build System​
下一篇
Build Environment Setup in Build System​
系列文
System Software Introduction30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言